<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
    <title>Storing records</title>
    <link rel="stylesheet" href="gettingStarted.css" type="text/css" />
    <meta name="generator" content="DocBook XSL Stylesheets V1.73.2" />
    <link rel="start" href="index.html" title="Berkeley DB Programmer's Reference Guide" />
    <link rel="up" href="am.html" title="Chapter 3.  Access Method Operations" />
    <link rel="prev" href="am_get.html" title="Retrieving records" />
    <link rel="next" href="am_delete.html" title="Deleting records" />
  </head>
  <body>
    <div xmlns="" class="navheader">
      <div class="libver">
        <p>Library Version 12.1.6.2</p>
      </div>
      <table width="100%" summary="Navigation header">
        <tr>
          <th colspan="3" align="center">Storing records</th>
        </tr>
        <tr>
          <td width="20%" align="left"><a accesskey="p" href="am_get.html">Prev</a> </td>
          <th width="60%" align="center">Chapter 3.  Access Method Operations </th>
          <td width="20%" align="right"> <a accesskey="n" href="am_delete.html">Next</a></td>
        </tr>
      </table>
      <hr />
    </div>
    <div class="sect1" lang="en" xml:lang="en">
      <div class="titlepage">
        <div>
          <div>
            <h2 class="title" style="clear: both"><a id="am_put"></a>Storing records</h2>
          </div>
        </div>
      </div>
      <p>
        The <a href="../api_reference/C/dbput.html" class="olink">DB-&gt;put()</a> method stores records into the database. In
        general, <a href="../api_reference/C/dbput.html" class="olink">DB-&gt;put()</a> takes a key and stores the associated data
        into the database. 
    </p>
      <p>
        There are a few flags that you can set to customize
        storage: 
    </p>
      <div class="variablelist">
        <dl>
          <dt>
            <span class="term">
              <a href="../api_reference/C/dbput.html#dbput_DB_APPEND" class="olink">DB_APPEND</a>
            </span>
          </dt>
          <dd> 
                Simply append the data to the end of the
                database, treating the database much like a simple
                log. This flag is only valid for the Heap, Queue and
                Recno access methods. This flag is required if you are
                creating a new record in a Heap database.
            </dd>
          <dt>
            <span class="term">
              <a href="../api_reference/C/dbput.html#put_DB_NOOVERWRITE" class="olink">DB_NOOVERWRITE</a>
            </span>
          </dt>
          <dd> 
                Only store the data item if the key does not
                already appear in the database.
            </dd>
        </dl>
      </div>
      <p> 
        If the database has been configured to support duplicate
        records, the <a href="../api_reference/C/dbput.html" class="olink">DB-&gt;put()</a> method will add the new data value at the
        end of the duplicate set. If the database supports sorted
        duplicates, the new data value is inserted at the correct
        sorted location.
    </p>
      <div class="note" style="margin-left: 0.5in; margin-right: 0.5in;">
        <h3 class="title">Note</h3>
        <p>
            If you are using the Heap access method and you are
            creating a new record in the database, then the key that
            you provide to the <a href="../api_reference/C/dbput.html" class="olink">DB-&gt;put()</a> method should be empty. The
            <a href="../api_reference/C/dbput.html" class="olink">DB-&gt;put()</a> method will return the record's ID (RID) in the
            key. The RID is automatically created for you when Heap
            database records are created.
        </p>
      </div>
    </div>
    <div class="navfooter">
      <hr />
      <table width="100%" summary="Navigation footer">
        <tr>
          <td width="40%" align="left"><a accesskey="p" href="am_get.html">Prev</a> </td>
          <td width="20%" align="center">
            <a accesskey="u" href="am.html">Up</a>
          </td>
          <td width="40%" align="right"> <a accesskey="n" href="am_delete.html">Next</a></td>
        </tr>
        <tr>
          <td width="40%" align="left" valign="top">Retrieving records </td>
          <td width="20%" align="center">
            <a accesskey="h" href="index.html">Home</a>
          </td>
          <td width="40%" align="right" valign="top"> Deleting records</td>
        </tr>
      </table>
    </div>
  </body>
</html>
